Skip to content

Comments

Fix expected pad size for decrypt operations#147

Merged
rlm2002 merged 1 commit intowolfSSL:masterfrom
cconlon:cipherDecryptPadSize
Aug 26, 2025
Merged

Fix expected pad size for decrypt operations#147
rlm2002 merged 1 commit intowolfSSL:masterfrom
cconlon:cipherDecryptPadSize

Conversation

@cconlon
Copy link
Member

@cconlon cconlon commented Aug 26, 2025

This PR fixes the expected output size for Cipher decrypt operations. When doing decrypt, the output size should not be increased with expected padding, since that padding will be stripped off during decryption.

JUnit test added for regression prevention.

This fixes OpenJDK SunJCE test: crypto/provider/Cipher/AES/Test4513830.java

@cconlon cconlon self-assigned this Aug 26, 2025
@cconlon cconlon force-pushed the cipherDecryptPadSize branch from a167dea to 3307403 Compare August 26, 2025 21:27
@cconlon cconlon requested a review from Copilot August 26, 2025 21:27
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR fixes a bug in the WolfCryptCipher implementation where getOutputSize() was incorrectly adding padding bytes during decrypt operations. The fix ensures that when decrypting, the output size calculation doesn't include padding since it gets stripped during decryption.

  • Modified getOutputSize() method to only add padding size during encrypt operations
  • Added comprehensive JUnit test for both AES-ECB encrypt and decrypt modes to prevent regression

Reviewed Changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
src/main/java/com/wolfssl/provider/jce/WolfCryptCipher.java Fixed getOutputSize() to conditionally add padding only for encrypt operations in both AES and DES3 cipher implementations
src/test/java/com/wolfssl/provider/jce/test/WolfCryptCipherTest.java Added regression test verifying correct output size calculation for both encrypt and decrypt modes

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@cconlon cconlon assigned rlm2002 and unassigned cconlon Aug 26, 2025
@rlm2002 rlm2002 merged commit 5a1846c into wolfSSL:master Aug 26, 2025
46 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants